﻿using System;
using System.Data;
using System.Text;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GC2.Bussines;
using GC2.Bussines.BMAdmin;
using GC2.Entities.Admin;
using GC2.Entities.Seguridad;
using GC2.Entities.Comunes;
using GC2.ExceptionHandler;

public partial class Informes_LibroCompras : GenericPage
{
    #region Propiedades
    Usuarios usuario = new Usuarios();
    List<Compras> listaCompras = new List<Compras>();
    private ExceptionConstructor exNew = new ExceptionConstructor();
    #endregion

    #region Controles

    #region Page_Load
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            SetearCultura();
            SetearConexion();
            if (!this.IsPostBack)
            {
                usuario = (Usuarios)Session["UsuarioActual"];
                CargarCombo();

                DateTime dHoy = DateTime.Now.Date;
                txtAnio.Text = dHoy.Year.ToString();
            }
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    #endregion

    #region btnCancelar_Click
    protected void btnCancelar_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/Seguridad/Default.aspx", false);
    }
    #endregion

    #region btnGenerar_Click
    protected void btnGenerar_Click(object sender, EventArgs e)
    {
        BMCompras bmCompras = new BMCompras(Connection);
        listaCompras = new List<Compras>();
        listaCompras = bmCompras.RptLibroCompras(Convert.ToInt16(cboMes.SelectedItem.Value), Convert.ToInt16(txtAnio.Text.Trim()));

        if (listaCompras.Count > 0)
        {

            Session["listaCompras"] = listaCompras;
            Session["pTitulo"] = txtTitulo.Text;
            StringBuilder sb = new StringBuilder();
            sb.Append(cboMes.SelectedItem.Text);
            sb.Append(" ");
            sb.Append(txtAnio.Text);
            Session["pPeriodo"] = sb.ToString();
            Impuestos imp = new Impuestos();
            List<Impuestos> listaImp = new List<Impuestos>();
            imp.Tipo = "C";
            BMImpuestos bmImpuestos = new BMImpuestos(Connection);
            listaImp = bmImpuestos.BMImpuestosGetAll(imp);
            Session["pImp1"] = listaImp[0].Nombre;
            Session["pImp2"] = listaImp[1].Nombre;
            Session["pImp3"] = listaImp[2].Nombre;
            Session["pImp4"] = listaImp[3].Nombre;
            Session["pImp5"] = listaImp[4].Nombre;
            Session["iReporte"] = 3;
            //Int16 iCantidad = 0;
            //Decimal dTotal = 0;
            //foreach (Compras item in listaCompras)
            //{
            //    iCantidad++;
            //    dTotal += item.Total;
            //}
            //Session["pCantidad"] = iCantidad;
            //Session["pTotal"] = dTotal;

            registrarScript();
            lblAccion.Text = "Libro Generado.";
        }
        else
        {
            lblAccion.Text = "No hay datos a procesar.";
        }
    }
    #endregion

    #endregion

    #region Métodos

    #region CargarCombo
    protected void CargarCombo()
    {
        try
        {
            List<Meses> listaMeses = ListaMeses();
            foreach (Meses mes in listaMeses)
            {
                ListItem liItem = new ListItem();
                liItem.Value = mes.Mes.ToString();
                liItem.Text = mes.Nombre;
                cboMes.Items.Add(liItem);
            }
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    #endregion

    #region registrarScript
    protected void registrarScript()
    {
        // dispararPopUp(hacePostBack)
        StringBuilder scriptSession = new StringBuilder("<script language='javascript' type='text/javascript'>");
        scriptSession.Append("function mostrarReporte()");
        scriptSession.Append("{");
        scriptSession.Append("var stringURL = '../Informes/RptComprasView.aspx';");
        scriptSession.Append("var opciones='toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes';");
        scriptSession.Append("var newWin = window.open(stringURL, 'PopUp" + DateTime.Now.Ticks.ToString() + "', opciones);");
        scriptSession.Append("}");
        scriptSession.Append("mostrarReporte();");
        scriptSession.Append("</script>");

        Page.ClientScript.RegisterStartupScript(this.GetType(), "Reporte" + Session["iReporte"].ToString(), scriptSession.ToString());
    }
    #endregion

    #endregion
}
